1. Field of the Invention
The present invention relates to data processing. In particular, the present invention relates to performing debug operations for data processing hardware.
2. Description of the Prior Art
It is known to provide debug functionality for production testing of data processing hardware using a serial scan-chain interface. One such scan interface is the IEEE 1149 standard “Standard Test Access Port and Boundary-Scan Architecture”, written by the Joint Test Action Group (JTAG). The JTAG standard defines a five-pin serial protocol for accessing and controlling signal-levels within a digital circuit using serial scan chains.
It is known to configure a data processing apparatus by sending configuration data to each of a plurality of functional units of the data processing apparatus across a bus. The configuration data comprises access operations for transferring data from main registers to co-processor registers associated with at least a subset of the functional units. Although re-use of a functional data path for debug operations would provide for more flexibility and greater efficiency in performing debug operations, there is a risk that by communicating functional data, such as processor configuration data, on the same bus as the debug data that the debug operations themselves could interfere with the data processing operations being performed. For example, if a data processing operation tries to execute a configuration instruction whilst a debug access is being communicated on the bus, then this configuration instruction will have to have at least one stall-cycle inserted. Thus, the use of the functional bus to distribute debug data can be intrusive to the processing operations themselves. It is highly desirable that a debug system should not in any way impact upon the actual execution of the process in operation. Insertion of extra stall cycles can itself introduce or remove bugs in a system. Hence, there is a requirement to provide a debug system that is non-intrusive to the processing operations of the system that is being debugged.